Data storage systems are arrangements of hardware and software that may include multiple storage processors coupled to arrays of non-volatile storage devices. In typical operation, the storage processors service storage requests that arrive from users. The storage requests specify files or other data elements to be written, read, created, or deleted, for example. The storage processors may each run software that manages incoming storage requests and performs various data processing tasks to organize and secure user data stored on the non-volatile storage devices.
Some storage processors run multiple software operations that may conflict with one another. For example, a storage processor may run both software for performing data backup operations and software for performing data restore operations. Suppose that, while a data backup operation is running on a set of data, a user invokes a data restore operation which attempts to restore the same set of data to a previous state. The data restore operation conflicts with the data backup operation because the data backup operation requires that the data remain unchanged while it runs.